<!-- HTML header for doxygen 1.8.3.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>Sifteo SDK: string.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-style-overrides.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<center>
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Sifteo SDK" src="sdk_logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">v1.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
</center>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Home</span></a></li>
      <li><a href="pages.html"><span>Guides</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_12cda917fe1d7c8b4e7d2501bb3636e4.html">sdk</a></li><li class="navelem"><a class="el" href="dir_2f23e30b638d6a5f333babd9a5d183e1.html">include</a></li><li class="navelem"><a class="el" href="dir_d5ace589187da7c83c1a7507ec9fbbef.html">sifteo</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">string.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* -*- mode: C; c-basic-offset: 4; intent-tabs-mode: nil -*-</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * This file is part of the public interface to the Sifteo SDK.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright &lt;c&gt; 2012 Sifteo, Inc. All rights reserved.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef NOT_USERSPACE</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#   error This is a userspace-only header, not allowed by the current build.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;sifteo/abi.h&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="keyword">namespace </span>Sifteo {</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="struct_sifteo_1_1_fixed.html">   30</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_sifteo_1_1_fixed.html" title="String formatting wrapper for fixed-width integers.">Fixed</a> {</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="struct_sifteo_1_1_fixed.html#a5bb0bb489505da13b071ae73be365241">   37</a></span>&#160;    <a class="code" href="struct_sifteo_1_1_fixed.html#a5bb0bb489505da13b071ae73be365241" title="Format &#39;value&#39; using exactly &#39;width&#39; characters.">Fixed</a>(<span class="keywordtype">int</span> value, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">bool</span> leadingZeroes=<span class="keyword">false</span>)</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        : value(value), width(width), leadingZeroes(leadingZeroes) {}</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordtype">int</span> value;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keywordtype">unsigned</span> width;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keywordtype">bool</span> leadingZeroes;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;};</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="struct_sifteo_1_1_fixed_f_p.html">   54</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_sifteo_1_1_fixed_f_p.html" title="Format a floating point number using fixed precision.">FixedFP</a> {</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="struct_sifteo_1_1_fixed_f_p.html#accc41cb135081e70fbaa502eeb69821e">   61</a></span>&#160;    <a class="code" href="struct_sifteo_1_1_fixed_f_p.html#accc41cb135081e70fbaa502eeb69821e" title="Format &#39;value&#39; using exactly &#39;left&#39; digits to the left of the decimal, and &#39;right&#39; digits to the righ...">FixedFP</a>(<span class="keywordtype">float</span> value, <span class="keywordtype">unsigned</span> left, <span class="keywordtype">unsigned</span> right, <span class="keywordtype">bool</span> leadingZeroes=<span class="keyword">false</span>)</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        : widthL(left), widthR(right), leadingZeroes(leadingZeroes)</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    {</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="comment">// Left side: truncate to integer</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        valueL = int(value);</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">         * Right side: We want to convert the right side to an integer by</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">         * multiplying it by 10^right, then we can rely on String&#39;s</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">         * field width truncation to do the rest. There aren&#39;t very many</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">         * values of &#39;right&#39; that won&#39;t overflow, so we can do this</span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">         * with a lookup table. Typically the field width is constant</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">         * at compile-time, so this lookup table will optimize out.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keywordflow">switch</span> (right) {</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;            <span class="keywordflow">default</span>:   <a class="code" href="group__macros.html#ga8a15779356736a0900a162442b1cda53" title="Runtime debug assertion.">ASSERT</a>(0);</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;            <span class="keywordflow">case</span> 0:    valueR = value * 0; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;            <span class="keywordflow">case</span> 1:    valueR = value * 10; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;            <span class="keywordflow">case</span> 2:    valueR = value * 100; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;            <span class="keywordflow">case</span> 3:    valueR = value * 1000; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;            <span class="keywordflow">case</span> 4:    valueR = value * 10000; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;            <span class="keywordflow">case</span> 5:    valueR = value * 100000; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;            <span class="keywordflow">case</span> 6:    valueR = value * 1000000; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;            <span class="keywordflow">case</span> 7:    valueR = value * 10000000; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;            <span class="keywordflow">case</span> 8:    valueR = value * 100000000; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            <span class="keywordflow">case</span> 9:    valueR = value * 1000000000; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        }</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    }</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordtype">int</span> valueL;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordtype">int</span> valueR;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordtype">unsigned</span> widthL, widthR;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">bool</span> leadingZeroes;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;};</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="struct_sifteo_1_1_hex.html">  102</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_sifteo_1_1_hex.html" title="String formatting wrapper for fixed-width hexadecimal integers.">Hex</a> {</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="struct_sifteo_1_1_hex.html#a97dff909874f1c4bf68081a3c495817e">  109</a></span>&#160;    <a class="code" href="struct_sifteo_1_1_hex.html#a97dff909874f1c4bf68081a3c495817e" title="Format &#39;value&#39; using exactly &#39;width&#39; characters.">Hex</a>(uint32_t value, <span class="keywordtype">unsigned</span> width=8, <span class="keywordtype">bool</span> leadingZeroes=<span class="keyword">true</span>)</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        : value(value), width(width), leadingZeroes(leadingZeroes) {}</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    uint32_t value;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">unsigned</span> width;</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">bool</span> leadingZeroes;</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;};</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="struct_sifteo_1_1_hex64.html">  122</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_sifteo_1_1_hex64.html" title="String formatting wrapper for fixed-width hexadecimal 64-bit integers.">Hex64</a> {</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="struct_sifteo_1_1_hex64.html#a8dc7c555774339dbc3be1e8df8ff86b9">  129</a></span>&#160;    <a class="code" href="struct_sifteo_1_1_hex64.html#a8dc7c555774339dbc3be1e8df8ff86b9" title="Format &#39;value&#39; using exactly &#39;width&#39; characters.">Hex64</a>(uint64_t value, <span class="keywordtype">unsigned</span> width=16, <span class="keywordtype">bool</span> leadingZeroes=<span class="keyword">true</span>)</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        : value(value), width(width), leadingZeroes(leadingZeroes) {}</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    uint64_t value;</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordtype">unsigned</span> width;</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordtype">bool</span> leadingZeroes;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;};</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="group__string.html#gae293419eb71f957268836b123c8722bd">  146</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="group__string.html#gae293419eb71f957268836b123c8722bd" title="Compare two C-style strings.">strncmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *a, <span class="keyword">const</span> <span class="keywordtype">char</span> *b, <span class="keywordtype">unsigned</span> count)</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;{</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">return</span> _SYS_strncmp(a, b, count);</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;}</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="group__string.html#ga89c4b0ad8576891435f83760e79f60b6">  157</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__string.html#ga89c4b0ad8576891435f83760e79f60b6" title="Get the length of a C-style string.">strnlen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, uint32_t maxLen) {</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">return</span> _SYS_strnlen(str, maxLen);</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;}</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">unsigned</span> tCapacity&gt;</div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html">  172</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a> {</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keyword">typedef</span> <span class="keywordtype">char</span>* iterator;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* const_iterator;</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a6063eebd6654bc8252b68eebca0017b3">  179</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html#a6063eebd6654bc8252b68eebca0017b3" title="Initialize a new empty string.">String</a>() {</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <a class="code" href="class_sifteo_1_1_string.html#af2b700868617b5ee80f2bb3b06bbb607" title="Overwrite this with the empty string.">clear</a>();</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    }</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a8435b74681c6666ab906f1241e2d09b3">  184</a></span>&#160;    <span class="keywordtype">char</span> * <a class="code" href="class_sifteo_1_1_string.html#a8435b74681c6666ab906f1241e2d09b3" title="Return a C-style character pointer.">c_str</a>() {</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordflow">return</span> buffer;</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    }</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    </div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#adfbcca1f7c9d517ed0998138b3950670">  189</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="class_sifteo_1_1_string.html#adfbcca1f7c9d517ed0998138b3950670" title="Return a C-style constant character pointer.">c_str</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        <span class="keywordflow">return</span> buffer;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    }</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    </div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#abfea3cdf5eda804184a377d52e36edbb">  194</a></span>&#160;    <span class="keyword">operator</span> <span class="keywordtype">char</span> *() {</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="keywordflow">return</span> buffer;</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    }</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a4e6229382278fc2d3ac05fc33795bb2f">  199</a></span>&#160;    <span class="keyword">operator</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *() <span class="keyword">const</span> {</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <span class="keywordflow">return</span> buffer;</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    }</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a134776b2dfc5036e8bb367d1b9ed8c17">  204</a></span>&#160;    <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="class_sifteo_1_1_string.html#a134776b2dfc5036e8bb367d1b9ed8c17" title="Retrieve the size of the buffer, in bytes, including space for NUL termination.">capacity</a>() {</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        <span class="keywordflow">return</span> tCapacity;</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    }</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a34a863c16f46884c53fd6a19f400a98e">  209</a></span>&#160;    <span class="keywordtype">unsigned</span> <a class="code" href="class_sifteo_1_1_string.html#a34a863c16f46884c53fd6a19f400a98e" title="Get the current size of the string, in characters, excluding NUL termination.">size</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        <span class="keywordflow">return</span> _SYS_strnlen(buffer, tCapacity-1);</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    }</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a7ee2e3cc27d7171749dca290e1a12406">  214</a></span>&#160;    iterator <a class="code" href="class_sifteo_1_1_string.html#a7ee2e3cc27d7171749dca290e1a12406" title="Return an iterator, pointing to the first character in the string.">begin</a>() {</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keywordflow">return</span> &amp;buffer[0];</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    }</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a0d32e9d56ba6f5920be46ab02f298157">  219</a></span>&#160;    iterator <a class="code" href="class_sifteo_1_1_string.html#a0d32e9d56ba6f5920be46ab02f298157" title="Return an iterator, pointing just past the end of the string (at the NUL)">end</a>() {</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keywordflow">return</span> &amp;buffer[<a class="code" href="class_sifteo_1_1_string.html#a34a863c16f46884c53fd6a19f400a98e" title="Get the current size of the string, in characters, excluding NUL termination.">size</a>()];</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    }</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#aecde9794220c811b8368448fa9d0a9d2">  224</a></span>&#160;    const_iterator <a class="code" href="class_sifteo_1_1_string.html#aecde9794220c811b8368448fa9d0a9d2" title="Const version of begin()">begin</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <span class="keywordflow">return</span> &amp;buffer[0];</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    }</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a16ca905ea30f17284123f9a327f4c2e4">  229</a></span>&#160;    const_iterator <a class="code" href="class_sifteo_1_1_string.html#a16ca905ea30f17284123f9a327f4c2e4" title="Const version of end()">end</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <span class="keywordflow">return</span> &amp;buffer[<a class="code" href="class_sifteo_1_1_string.html#a34a863c16f46884c53fd6a19f400a98e" title="Get the current size of the string, in characters, excluding NUL termination.">size</a>()];</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    }</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#af2b700868617b5ee80f2bb3b06bbb607">  234</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_sifteo_1_1_string.html#af2b700868617b5ee80f2bb3b06bbb607" title="Overwrite this with the empty string.">clear</a>() {</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        buffer[0] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    }</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div>
<div class="line"><a name="l00239"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#acc74baf61dfc17a5ebb1ea364ce3e3ed">  239</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_sifteo_1_1_string.html#acc74baf61dfc17a5ebb1ea364ce3e3ed" title="Is the string empty? (Faster than size() == 0)">empty</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        <span class="keywordflow">return</span> buffer[0] == <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    }</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a1e2e87ee2cc1db8ef92ba6c2f6de00fa">  252</a></span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keywordtype">int</span> <a class="code" href="class_sifteo_1_1_string.html#a1e2e87ee2cc1db8ef92ba6c2f6de00fa" title="Compare this string against another.">compare</a>(<span class="keyword">const</span> T &amp;other)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="group__string.html#gae293419eb71f957268836b123c8722bd" title="Compare two C-style strings.">strncmp</a>(*<span class="keyword">this</span>, other, <a class="code" href="group__macros.html#ga3acffbd305ee72dcd4593c0d8af64a4f">MIN</a>(<a class="code" href="class_sifteo_1_1_string.html#a134776b2dfc5036e8bb367d1b9ed8c17" title="Retrieve the size of the buffer, in bytes, including space for NUL termination.">capacity</a>(), other.capacity()));</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    }</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div>
<div class="line"><a name="l00265"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#ac1c22c797b5ee26e107d9f19fc6fdb04">  265</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_sifteo_1_1_string.html#ac1c22c797b5ee26e107d9f19fc6fdb04" title="Compare this string against a C-style string.">compare</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *other)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="group__string.html#gae293419eb71f957268836b123c8722bd" title="Compare two C-style strings.">strncmp</a>(*<span class="keyword">this</span>, other, <a class="code" href="class_sifteo_1_1_string.html#a134776b2dfc5036e8bb367d1b9ed8c17" title="Retrieve the size of the buffer, in bytes, including space for NUL termination.">capacity</a>());</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    }</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div>
<div class="line"><a name="l00270"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a227d982ebe438c96ac6f631be66b1763">  270</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a>&amp; <a class="code" href="class_sifteo_1_1_string.html#a227d982ebe438c96ac6f631be66b1763" title="Overwrite this with another string.">operator=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *src) {</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        _SYS_strlcpy(buffer, src, tCapacity);</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    }</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
<div class="line"><a name="l00276"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a30a8067bc0a764977b3fa69e7a7399ae">  276</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a>&amp; <a class="code" href="class_sifteo_1_1_string.html#a30a8067bc0a764977b3fa69e7a7399ae" title="Append another string to this one.">operator+=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *src) {</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        _SYS_strlcat(buffer, src, tCapacity);</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    }</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#aff0da99031381d6f8120eaeed84abdf5">  282</a></span>&#160;    <span class="keywordtype">char</span> &amp;<a class="code" href="class_sifteo_1_1_string.html#aff0da99031381d6f8120eaeed84abdf5" title="Indexing operator, to get or set one character.">operator[]</a>(<span class="keywordtype">unsigned</span> index) {</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        <span class="keywordflow">return</span> buffer[index];</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    }</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div>
<div class="line"><a name="l00287"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a0ec1ee458179cbea67b531a5e5fb8bc1">  287</a></span>&#160;    <span class="keywordtype">char</span> &amp;<a class="code" href="class_sifteo_1_1_string.html#a0ec1ee458179cbea67b531a5e5fb8bc1" title="Indexing operator, to get or set one character.">operator[]</a>(<span class="keywordtype">int</span> index) {</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        <span class="keywordflow">return</span> buffer[index];</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    }</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#aa638cbf348a632111569ed0df71ff74a">  292</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="class_sifteo_1_1_string.html#aa638cbf348a632111569ed0df71ff74a" title="Const indexing operator.">operator[]</a>(<span class="keywordtype">unsigned</span> index)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;        <span class="keywordflow">return</span> buffer[index];</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    }</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
<div class="line"><a name="l00297"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#aaf77c67e38e0fca447b369a0d7adff9d">  297</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="class_sifteo_1_1_string.html#aaf77c67e38e0fca447b369a0d7adff9d" title="Const indexing operator.">operator[]</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        <span class="keywordflow">return</span> buffer[index];</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    }</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a146e4947843de8c26c186fd1db14a9e6">  302</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a>&amp; <a class="code" href="class_sifteo_1_1_string.html#a146e4947843de8c26c186fd1db14a9e6" title="STL-style formatting operator, append a string.">operator&lt;&lt;</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *src) {</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        _SYS_strlcat(buffer, src, tCapacity);</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    }</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a9e57b8aba2d268cbbfde7821ebf54e45">  308</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a>&amp; <a class="code" href="class_sifteo_1_1_string.html#a9e57b8aba2d268cbbfde7821ebf54e45" title="STL-style formatting operator, append a decimal integer.">operator&lt;&lt;</a>(<span class="keywordtype">int</span> src) {</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        _SYS_strlcat_int(buffer, src, tCapacity);</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    }</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a4b05fa6b13004acecf5ef195095b2871">  314</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a>&amp; <a class="code" href="class_sifteo_1_1_string.html#a4b05fa6b13004acecf5ef195095b2871" title="STL-style formatting operator, append a fixed-width decimal integer.">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_sifteo_1_1_fixed.html" title="String formatting wrapper for fixed-width integers.">Fixed</a> &amp;src) {</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        _SYS_strlcat_int_fixed(buffer, src.value, src.width, src.leadingZeroes, tCapacity);</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    }</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
<div class="line"><a name="l00320"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a5308243d12b45611f1c40069908acea2">  320</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a>&amp; <a class="code" href="class_sifteo_1_1_string.html#a5308243d12b45611f1c40069908acea2" title="STL-style formatting operator, append a fixed-width floating point number.">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_sifteo_1_1_fixed_f_p.html" title="Format a floating point number using fixed precision.">FixedFP</a> &amp;src) {</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        _SYS_strlcat_int_fixed(buffer, src.valueL, src.widthL, src.leadingZeroes, tCapacity);</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        _SYS_strlcat(buffer, <span class="stringliteral">&quot;.&quot;</span>, tCapacity);</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        _SYS_strlcat_int_fixed(buffer, src.valueR, src.widthR, <span class="keyword">true</span>, tCapacity);</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    }</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div>
<div class="line"><a name="l00328"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#ab7104b1563552e14b21e926ed46803d0">  328</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a>&amp; <a class="code" href="class_sifteo_1_1_string.html#ab7104b1563552e14b21e926ed46803d0" title="STL-style formatting operator, append a fixed-width hexadecimal integer.">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_sifteo_1_1_hex.html" title="String formatting wrapper for fixed-width hexadecimal integers.">Hex</a> &amp;src) {</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        _SYS_strlcat_int_hex(buffer, src.value, src.width, src.leadingZeroes, tCapacity);</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    }</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a4a8003c879be92138e16f476ece04f8b">  334</a></span>&#160;    <a class="code" href="class_sifteo_1_1_string.html" title="A statically sized character buffer, with output formatting support.">String</a>&amp; <a class="code" href="class_sifteo_1_1_string.html#a4a8003c879be92138e16f476ece04f8b" title="STL-style formatting operator, append a fixed-width hexadecimal 64-bit integer.">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_sifteo_1_1_hex64.html" title="String formatting wrapper for fixed-width hexadecimal 64-bit integers.">Hex64</a> &amp;src) {</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;        uint32_t high = src.value &gt;&gt; 32;</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        uint32_t low = src.value;</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keywordflow">if</span> (src.width &gt; 8 || high != 0) {</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;            _SYS_strlcat_int_hex(buffer, high, src.width - 8, src.leadingZeroes, tCapacity);</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;            _SYS_strlcat_int_hex(buffer, low, 8, <span class="keyword">true</span>, tCapacity);</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;            _SYS_strlcat_int_hex(buffer, low, src.width, src.leadingZeroes, tCapacity);</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        }</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    }</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#adc6a46730cbfac88ea94562340681bc3">  347</a></span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="class_sifteo_1_1_string.html#adc6a46730cbfac88ea94562340681bc3" title="Is this string equal to another?">operator==</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_sifteo_1_1_string.html#a1e2e87ee2cc1db8ef92ba6c2f6de00fa" title="Compare this string against another.">compare</a>(other) == 0;</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    }</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div>
<div class="line"><a name="l00352"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#aba58e2ef0851abb5d21405747455bbf1">  352</a></span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="class_sifteo_1_1_string.html#aba58e2ef0851abb5d21405747455bbf1" title="Is this string different from another?">operator!=</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_sifteo_1_1_string.html#a1e2e87ee2cc1db8ef92ba6c2f6de00fa" title="Compare this string against another.">compare</a>(other) != 0;</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    }</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div>
<div class="line"><a name="l00357"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#aa430768da9c239ba298ee745deaf8dc8">  357</a></span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="class_sifteo_1_1_string.html#aa430768da9c239ba298ee745deaf8dc8" title="Is this string before another, in ASCII order?">operator&lt;</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_sifteo_1_1_string.html#a1e2e87ee2cc1db8ef92ba6c2f6de00fa" title="Compare this string against another.">compare</a>(other) &lt; 0;</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    }</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div>
<div class="line"><a name="l00362"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a841511418deefa962a596f8d0b7541e8">  362</a></span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="class_sifteo_1_1_string.html#a841511418deefa962a596f8d0b7541e8" title="Is this string before another or equal, in ASCII order?">operator&lt;=</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_sifteo_1_1_string.html#a1e2e87ee2cc1db8ef92ba6c2f6de00fa" title="Compare this string against another.">compare</a>(other) &lt;= 0;</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    }</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div>
<div class="line"><a name="l00367"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a7ead99e9d44e63e5b5fe670f1543b316">  367</a></span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="class_sifteo_1_1_string.html#a7ead99e9d44e63e5b5fe670f1543b316" title="Is this string after another, in ASCII order?">operator&gt;</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_sifteo_1_1_string.html#a1e2e87ee2cc1db8ef92ba6c2f6de00fa" title="Compare this string against another.">compare</a>(other) &gt; 0;</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    }</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div>
<div class="line"><a name="l00372"></a><span class="lineno"><a class="code" href="class_sifteo_1_1_string.html#a0d8d9b9bbcb21f4c10cfc150b0018386">  372</a></span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="class_sifteo_1_1_string.html#a0d8d9b9bbcb21f4c10cfc150b0018386" title="Is this string after another or equal, in ASCII order?">operator&gt;=</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_sifteo_1_1_string.html#a1e2e87ee2cc1db8ef92ba6c2f6de00fa" title="Compare this string against another.">compare</a>(other) &gt;= 0;</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    }</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="keywordtype">char</span> buffer[tCapacity];</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;};</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;};  <span class="comment">// namespace Sifteo</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.3.1-->
<!-- start footer part -->
    <hr class="footer"/>
    <address class="footer">
        <p><a href="http://sifteo.com">Sifteo</a> SDK v1.0.0 <small>(see <a href="https://developers.sifteo.com/sifteosdk">all versions</a>)</small></p>
        <p>Last updated Wed Mar 27 2013, by <a href="http://www.stack.nl/~dimitri/doxygen">Doxygen</a></p>
    </address>
</body>
</html>
